package com.whosly.api.enums;

import com.whosly.api.annotation.dozer.EnumValue;
import com.whosly.api.enums.IValueType;

/**
 * @category 可用性枚举
 *
 * @author 袁洋 2014年9月30日
 */
public enum EnableType implements IValueType<Integer> {
	/** 0:不可用 */
	DISENABLE(0, "不可用"),
	/** 1:可用 */
	ENABLE(1, "可用");

	public static EnableType byCode(final int value) {
		for (final EnableType t : values()) {
			if (t.getValue() == value) {
				return t;
			}
		}
		return null;
	}

	/** 描述 */
	private String describe;

	/** 值 */
	private Integer value;

	EnableType(final Integer value, final String describe) {
		this.value = value;
		this.describe = describe;
	}

	/**
	 * @return 布尔型的可用性返回值
	 */
	public boolean enable() {
		return value == 1;
	}

	@Override
	public String getDescribe() {
		return this.describe;
	}

	@Override
	@EnumValue
	public Integer getValue() {
		return this.value;
	}

}
